using System;
using System.Collections.Generic;
using System.Text;

namespace ChEngine
{
    public class Movement
    {
        public override string ToString()
        {
            return ToBitMove().ToString();
        }
        private MoveFlag flag;

        public MoveFlag Flag
        {
            get { return flag; }
        }
        public BitMove ToBitMove()
        {
            BitMove bm = new BitMove();
            bm.Current = BitDest;
            bm.Previous = BitStart;
            bm.Flag = Flag;
            return bm;
        }
        public Movement(int startCell,int destCell,MoveFlag flag)
        {
            this.startCell = startCell;
            this.destCell = destCell;
            this.flag = flag;
            bitStart = BitBoardDriver.CellToBit(startCell);
            bitDest = BitBoardDriver.CellToBit(destCell);
        }
        ulong bitStart;
        public ulong BitStart
        {
            get { return bitStart; }
        }
        ulong bitDest;
        public ulong BitDest
        {
            get { return bitDest; }
        }
        private int startCell;

        public int StartCell
        {
            get { return startCell; }
        }

        private int destCell;

        public int DestCell
        {
            get { return destCell; }
        }
	
	
    }
}
